package com.ruoyi.tsjData.service.impl;

import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.tsjData.domain.plat.DataTshjLyl;
import com.ruoyi.tsjData.mapper.DataTshjLylMapper;
import com.ruoyi.tsjData.service.IDataTshjLylService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.AsyncResult;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.concurrent.Future;


/**
 * 提升机拉压力测试项Service业务层处理
 * 
 * @author ruoyi
 * @date 2024-02-28
 */
@Service
public class DataTshjLylServiceImpl implements IDataTshjLylService
{
    @Autowired
    private DataTshjLylMapper dataTshjLylMapper;

    /**
     * 查询提升机拉压力测试项
     * 
     * @param lylId 提升机拉压力测试项主键
     * @return 提升机拉压力测试项
     */
    @Override
    public DataTshjLyl selectDataTshjLylByLylId(Long lylId)
    {
        return dataTshjLylMapper.selectDataTshjLylByLylId(lylId);
    }

    /**
     * 查询提升机拉压力测试项列表
     *
     * @param dataTaskId
     * @return 提升机拉压力测试项集合
     */
    @Async("threadPoolKy")
    @Override
    public Future<List<DataTshjLyl>> selectDataTshjLylByDataTaskId(Long dataTaskId) {
        return new AsyncResult<>(dataTshjLylMapper.selectDataTshjLylByDataTaskId(dataTaskId));
    }

    /**
     * 查询提升机拉压力测试项列表
     * 
     * @param dataTshjLyl 提升机拉压力测试项
     * @return 提升机拉压力测试项
     */
    @Override
    public List<DataTshjLyl> selectDataTshjLylList(DataTshjLyl dataTshjLyl)
    {
        return dataTshjLylMapper.selectDataTshjLylList(dataTshjLyl);
    }

    /**
     * 新增提升机拉压力测试项
     * 
     * @param dataTshjLyl 提升机拉压力测试项
     * @return 结果
     */
    @Override
    public int insertDataTshjLyl(DataTshjLyl dataTshjLyl)
    {
        dataTshjLyl.setCreateTime(DateUtils.getNowDate());
        return dataTshjLylMapper.insertDataTshjLyl(dataTshjLyl);
    }

    /**
     * 批量新增
     *
     * @param dataTshjLyl
     */
    @Override
    public int batchDataTshjLyl(List<DataTshjLyl> dataTshjLyl) {
        return dataTshjLylMapper.batchDataTshjLyl(dataTshjLyl);
    }

    /**
     * 修改提升机拉压力测试项
     * 
     * @param dataTshjLyl 提升机拉压力测试项
     * @return 结果
     */
    @Override
    public int updateDataTshjLyl(DataTshjLyl dataTshjLyl)
    {
        dataTshjLyl.setUpdateTime(DateUtils.getNowDate());
        return dataTshjLylMapper.updateDataTshjLyl(dataTshjLyl);
    }

    /**
     * 修改提升机-拉压力测试
     *
     * @param dataTaskIds 拉压力测试任务id
     * @return 结果
     */
    @Override
    public int updateDataTshjLylByDataTaskIds(Long[] dataTaskIds) {
        return dataTshjLylMapper.updateDataTshjLylByDataTaskIds(dataTaskIds);
    }

    /**
     * 修改测试数据状态变更2
     *
     * @param dataTaskId
     * @param lylId
     */
    @Override
    public int updateDataTshjLylByLylId(Long dataTaskId, Long lylId) {
        return dataTshjLylMapper.updateDataTshjLylByLylId(dataTaskId, lylId);
    }

    /**
     * 批量删除提升机拉压力测试项
     * 
     * @param lylIds 需要删除的提升机拉压力测试项主键
     * @return 结果
     */
    @Override
    public int deleteDataTshjLylByLylIds(Long[] lylIds)
    {
        return dataTshjLylMapper.deleteDataTshjLylByLylIds(lylIds);
    }

    /**
     * 删除提升机拉压力测试项信息
     * 
     * @param lylId 提升机拉压力测试项主键
     * @return 结果
     */
    @Override
    public int deleteDataTshjLylByLylId(Long lylId)
    {
        return dataTshjLylMapper.deleteDataTshjLylByLylId(lylId);
    }
}
